package com.czwj.service;

import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import com.czwj.entities.Goods;

/**
* @ClassName: GoodsService
* @Description: TODO
* @author H
* @date 2020年4月24日
*
*/
public interface GoodsService{

	/**
	 * @param actual 
	* @Title: insertorupdate
	* @Description: TODO
	* @param id
	* @param projectitemid
	* @param projectitemchildid
	* @param name
	* @param specs
	* @param unit
	* @param initial
	* @param remark
	* @param status
	* @param createrid
	* @param createip
	* @param images
	* @return 参数 
	* @return int 返回类型
	* @throws
	*/
	int insertorupdate(Integer id,Integer projectitemid,Integer projectitemchildid,String name,String specs,String unit,
			String initial,String remark,String actual, Integer status,int createrid,String createip,MultipartFile[] images);

	/**
	* @Title: delete
	* @Description: TODO
	* @param id
	* @return 参数 
	* @return int 返回类型
	* @throws
	*/
	int delete(int id);

	/**
	* @Title: search
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return List<Goods> 返回类型
	* @throws
	*/
	List<Goods> search(Map<String,Object> map);

	/**
	* @Title: count
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return int 返回类型
	* @throws
	*/
	int count(Map<String,Object> map);

	/**
	* @Title: selectByPrimaryKey
	* @Description: TODO
	* @param id
	* @return 参数 
	* @return Goods 返回类型
	* @throws
	*/
	Goods selectByPrimaryKey(int id);

	/**
	 * @return 
	* @Title: update
	* @Description: TODO
	* @param goods 参数 
	* @return void 返回类型
	* @throws
	*/
	int update(Goods goods);

	/**
	* @Title: searchbylevel2
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return List<Goods> 返回类型
	* @throws
	*/
	List<Goods> searchbylevel2(Map<String,Object> map);

	/**
	* @Title: countbylevel2
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return int 返回类型
	* @throws
	*/
	int countbylevel2(Map<String,Object> map);

	/**
	* @Title: searchReviewedLevel2
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return List<Goods> 返回类型
	* @throws
	*/
	List<Goods> searchReviewedLevel2(Map<String,Object> map);

	/**
	* @Title: countReviewedLevel2
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return int 返回类型
	* @throws
	*/
	int countReviewedLevel2(Map<String,Object> map);
}
